5.0 Advanced Usage
本章介绍 LangChain 的高级功能和用法,涵盖安全护栏、运行时系统、上下文工程、多代理协作等生产级特性。
学习目标
完成本章后,你将能够:
- 实现安全护栏保护 Agent 执行
- 使用 Runtime 进行依赖注入
- 掌握上下文工程的核心技术
- 集成 MCP 协议扩展工具能力
- 配置人机协作审批流程
- 设计多代理协作系统
- 构建 RAG 检索增强系统
- 实现跨会话的长期记忆
本章概览
┌─────────────────────────────────────────────────────────────────┐
│ Advanced Usage │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────────┐ │
│ │ Guardrails │ │ Runtime │ │ Context Engineering │ │
│ │ (5.1) │ │ (5.2) │ │ (5.3) │ │
│ │ 安全护栏 │ │ 依赖注入 │ │ 上下文管理 │ │
│ └─────────────┘ └─────────────┘ └─────────────────────────┘ │
│ │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────────┐ │
│ │ MCP │ │ HITL │ │ Multi-agent │ │
│ │ (5.4) │ │ (5.5) │ │ (5.6) │ │
│ │ 工具协议 │ │ 人机协作 │ │ 多代理系统 │ │
│ └─────────────┘ └─────────────┘ └─────────────────────────┘ │
│ │
│ ┌─────────────────────────────┐ ┌─────────────────────────┐ │
│ │ Retrieval │ │ Long-term Memory │ │
│ │ (5.7) │ │ (5.8) │ │
│ │ RAG 检索 │ │ 长期记忆 │ │
│ └─────────────────────────────┘ └─────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘本章内容
| 章节 | 主题 | 核心概念 |
|---|---|---|
| 5.1 Guardrails | 安全护栏 | 确定性护栏、模型驱动护栏、PII 检测 |
| 5.2 Runtime | 运行时系统 | Context、Store、Stream Writer、依赖注入 |
| 5.3 Context Engineering | 上下文工程 | 动态提示、动态工具、状态管理 |
| 5.4 Model Context Protocol MCP | 模型上下文协议 | stdio/HTTP/SSE 传输、MCP 服务器 |
| 5.5 Human-in-the-loop | 人机协作 | 审批流程、Approve/Edit/Reject |
| 5.6 Multi-agent | 多代理系统 | 工具调用模式、交接模式、分层架构 |
| 5.7 Retrieval | 检索系统 | RAG、向量存储、文档加载 |
| 5.8 Long-term Memory | 长期记忆 | Store、命名空间、跨会话持久化 |
各章节简介
5.1 Guardrails - 安全护栏
保护 Agent 执行过程中的安全性:
- 确定性护栏:基于规则的快速检查(正则、关键词)
- 模型驱动护栏:使用 LLM 进行语义理解
- PII 检测:识别和处理敏感个人信息
- 分层保护:多层护栏堆叠形成完整防护
5.2 Runtime - 运行时系统
为工具和中间件提供依赖注入:
- Context:静态配置信息(用户 ID、API 密钥)
- Store:长期记忆存储
- Stream Writer:自定义流式输出
- 消除硬编码:配置与代码分离
5.3 Context Engineering - 上下文工程
构建可靠 Agent 的核心技能:
- 模型上下文:动态调整提示、消息、工具
- 工具上下文:状态读写、Command 更新
- 生命周期上下文:摘要、护栏、日志
5.4 Model Context Protocol - MCP
标准化的工具和上下文提供协议:
- 三种传输方式:stdio、HTTP、SSE
- MultiServerMCPClient:访问多个 MCP 服务器
- FastMCP:快速构建 MCP 服务器
5.5 Human-in-the-loop - 人机协作
敏感操作的人工审批机制:
- 三种决策:Approve、Edit、Reject
- 中断与恢复:保存中断状态等待审批
- 条件审批:动态决定是否需要人工干预
5.6 Multi-agent - 多代理系统
复杂任务的协作处理:
- 工具调用模式:主管 Agent 协调子 Agent
- 交接模式:Agent 间直接转移控制权
- 分层架构:多层次的代理组织结构
5.7 Retrieval - 检索系统
RAG(检索增强生成)实现:
- 检索管道:加载、分割、嵌入、存储、检索
- 三种 RAG 方式:两步 RAG、Agentic RAG、混合 RAG
- 向量存储:FAISS、Chroma 等
5.8 Long-term Memory - 长期记忆
跨会话的信息持久化:
- Store 架构:命名空间 + 键 + 值
- 语义搜索:向量化的记忆检索
- 工具集成:在工具中读写长期记忆
功能关系图
┌─────────────────────────────────────────────────────────────────┐
│ Agent 执行流程 │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────┐ │
│ │ 用户 │ │
│ └──────────┘ │
│ │ │
│ ▼ │
│ ┌──────────┐ ┌───────────────────────────────────────┐ │
│ │ Guardrails│────▶│ Runtime │ │
│ │ (5.1) │ │ ┌─────────┬─────────┬─────────────┐ │ │
│ └──────────┘ │ │ Context │ Store │ StreamWriter│ │ │
│ │ │ │ (5.2) │ (5.8) │ │ │ │
│ ▼ │ └─────────┴─────────┴─────────────┘ │ │
│ ┌──────────┐ └───────────────────────────────────────┘ │
│ │ Context │ │ │
│ │Engineering│◀────────────────────┘ │
│ │ (5.3) │ │
│ └──────────┘ │
│ │ │
│ ▼ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ MCP │ │ HITL │ │ RAG │ │
│ │ (5.4) │ │ (5.5) │ │ (5.7) │ │
│ └──────────┘ └──────────┘ └──────────┘ │
│ │ │ │ │
│ └────────────────┼────────────────┘ │
│ ▼ │
│ ┌──────────┐ │
│ │Multi-agent│ │
│ │ (5.6) │ │
│ └──────────┘ │
│ │ │
│ ▼ │
│ ┌──────────┐ │
│ │ 响应 │ │
│ └──────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘学习路径建议
入门路径
如果你是第一次学习高级功能:
- 5.2 Runtime - 理解依赖注入基础
- 5.3 Context Engineering - 掌握上下文管理
- 5.1 Guardrails - 添加安全保护
- 5.8 Long-term Memory - 实现持久化
生产部署路径
如果你准备将 Agent 部署到生产环境:
- 5.1 Guardrails - 安全第一
- 5.5 Human-in-the-loop - 敏感操作审批
- 5.7 Retrieval - 知识库集成
- 5.8 Long-term Memory - 用户数据持久化
复杂系统路径
如果你需要构建复杂的 Agent 系统:
- 5.6 Multi-agent - 多代理协作
- 5.4 MCP - 工具标准化
- 5.3 Context Engineering - 精细化上下文控制
- 5.7 Retrieval - RAG 集成
核心概念对照
| 概念 | 章节 | 作用域 | 说明 |
|---|---|---|---|
| State | 5.3 | 单次会话 | 短期记忆,对话历史 |
| Store | 5.8 | 跨会话 | 长期记忆,用户偏好 |
| Context | 5.2 | 每次调用 | 静态配置信息 |
| Middleware | 5.1/5.5 | 执行过程 | 拦截和处理请求 |
| Tools | 5.4/5.6 | 能力扩展 | Agent 可调用的功能 |
生产环境检查清单
| 检查项 | 相关章节 | 状态 |
|---|---|---|
| 输入验证和过滤 | 5.1 Guardrails | [ ] |
| PII 检测和保护 | 5.1 Guardrails | [ ] |
| 依赖注入配置 | 5.2 Runtime | [ ] |
| 敏感操作审批 | 5.5 HITL | [ ] |
| 知识库集成 | 5.7 Retrieval | [ ] |
| 用户数据持久化 | 5.8 Long-term Memory | [ ] |
| 错误处理和降级 | 5.6 Multi-agent | [ ] |